package com.tianji.aigc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.aigc.entity.ChatSession;
import com.tianji.aigc.vo.ChatSessionVO;
import com.tianji.aigc.vo.SessionDetailVO;
import com.tianji.aigc.vo.SessionVO;

import java.util.List;
import java.util.Map;

/**
 * 会话session业务接口
 * @author zgp
 * @version V1.0
 * @date 2025-04-21 12:20
 */
public interface ChatSessionService extends IService<ChatSession> {
    /**
     * 会话创建
     * @param num 热门问题数量
     * @return
     */
    SessionVO createSession(Integer num);

    /**
     * 获取热门问题列表
     * @param num 数量
     * @return
     */
    List<SessionVO.Example> hotQuestions(Integer num);

    /**
     * 查询会话详情
     * @param sessionId 会话id
     * @return
     */
    List<SessionDetailVO> getSessionDetail(String sessionId);

    /**
     * 更新会话标题
     * @param sessionId 会话id
     * @param userId 用户id
     * @param title 标题
     */
    void updateSessionTitle(String sessionId, Long userId, String title);

    /**
     * 查询历史会话列表
     * @return
     */
    Map<String, List<ChatSessionVO>> history();

    /**
     * 修改历史会话标题
     * @param sessionId 会话id
     * @param title 标题
     */
    void modifyHistorySessionTitle(String sessionId, String title);

    /**
     * 删除历史会话
     * @param sessionId 会话id
     */
    void deleteHistorySession(String sessionId);
}
